import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from google.appengine.dist import use_library
use_library('django', '1.2')

from google.appengine.ext.webapp import template


from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainHandler(webapp.RequestHandler):
  def get(self):
    template_values = {}
    path = os.path.join(os.path.dirname(__file__), 'hello.html')
    self.response.out.write(template.render(path, template_values))






class QuizHandler(webapp.RequestHandler):
  def get(self):
    template_values = {'name' : self.request.get('name') }
    if len(self.request.get('name')) == 0:
        path = os.path.join(os.path.dirname(__file__), 'fail.html')
        self.response.out.write(template.render(path, template_values))
    else:
        path = os.path.join(os.path.dirname(__file__), 'quiz.html')
        self.response.out.write(template.render(path, template_values))

class WrongAnswer(object):
    def __init__(self, question, guess, correct):
        self.question = question
        self.guess = guess
        self.correct = correct

class GradeQuizHandler(webapp.RequestHandler):
  def get(self):
    addition_guess = self.request.get('addition')
    capital_guess = self.request.get('capital')
    template_values = {'name' : self.request.get('name'), 'wrong_answers': []}
    if addition_guess != '7':
        template_values['wrong_answers'].append(WrongAnswer("3 + 4", addition_guess, "7"))
    if capital_guess.lower() != 'sacramento':
        template_values['wrong_answers'].append(WrongAnswer("the capital of California", capital_guess, "Sacramento"))
    path = os.path.join(os.path.dirname(__file__), 'grade_quiz.html')
    self.response.out.write(template.render(path, template_values))


def main():
  application = webapp.WSGIApplication([('/hello.*', MainHandler),
                                        ('/goodbye.*', GoodbyeHandler),
                                        ('/dice.*', DiceHandler),
                                        ('/quiz', QuizHandler),
                                        ('/grade_quiz', GradeQuizHandler)],
                                       debug=True)
  run_wsgi_app(application)

if __name__ == '__main__':
  main()

#class GoodbyeHandler(webapp.RequestHandler):
#  def get(self):
#    self.response.out.write('Goodbye app engine world!')

#class DiceHandler(webapp.RequestHandler):
#  def get(self):
#    times = self.request.get('times')
#    if not times.isdigit():
#        self.response.out.write("Sorry, '" + times + "' is not a number.")
#    else:
    
#        import random
#        DICE_ROLLS = int(times)

#        self.response.out.write("Rolling the dice " + str(DICE_ROLLS) + " times<br>")

#        for roll_num in range(DICE_ROLLS):
#            # Simulate rolling two dice.
#            dice_1 = random.randint(1, 6)
#            dice_2 = random.randint(1, 6)
#            self.response.out.write ("Rolls: " + str(dice_1) + " " + str(dice_2) + "<br>")
#            if dice_1 == 1 and dice_2 == 1:
#                self.response.out.write("You got snake eyes!<br>")
#            elif dice_1 == 6 and dice_2 == 6:
#                self.response.out.write("You got double sixes!<br>")
#
#        self.response.out.write('Hello ' + times) 
